<?php

/**
 * Description of UserValidator.class
 *
 * Rozszerzenie Validatora dla specyficznych danych
 *
 * @author KoPi
 */
abstract class UserValidator {

    /**
     * funkcja sprawdzaja czy podane dane juz istnieja w tabeli uzytkownik
     *
     * @param string $login
     * 
     * @return int $amout - ilosc powtarzajacych sie loginow
     */
    
    public function CheckLoginRepeat($login,$db_table_name='wp_preserve')
    {
        $db = Registry::Get('db');
        $sql = "SELECT count(login) FROM $db_table_name WHERE login=:01";
	
        $stmt = $db->prepare($sql)     
        ->bindParam("01", mysql_escape_string(strip_tags($login)) )
        ->execute();

        $amout=$stmt->FetchRow();

        return $amout[0];
    }
    
    /**
     * funkcja sprawdzaja czy podane dane juz istnieja w tabeli uzytkownik
     *
     * @param string $login
     *
     * @return int $amout - ilosc powtarzajacych sie emaili
     */
    
    public function CheckEmailRepeat($email, $db_table_name='wp_preserve')
    {
        $db = Registry::Get('db');
        $sql = "SELECT count(email) FROM $db_table_name WHERE email=:01";
	
        $stmt = $db->prepare($sql)     
	->bindParam("01", mysql_escape_string(strip_tags($email)) )
        ->execute();

        $amout=$stmt->FetchRow();

        return $amout[0];
    }

    public function CheckPassword($password,$hash)
    {
        // sprawdzanie czy haslo jest ok
        $db = Registry::Get('db');
        $sql="SELECT count(login) FROM wp_preserve WHERE hash=:01 AND passwd=:02";

        $stmt = $db->prepare($sql)
        ->bindParam("01",mysql_escape_string(strip_tags($hash)) )
        ->bindParam("02",mysql_escape_string(strip_tags($password)) )
        ->execute();

        $amout=$stmt->FetchRow();

        return $amout[0];
    }

	public function ValidatePhotoForm(){
           
		
            if ( $this->IsEmpty('name', 'Pole zdj�cia jest puste.'))
            {
			$this->IsNotEqualValue('error', 0, 'Wyst�pi� b��d serwera.');
			if( $this->IsFile('tmp_name','Przes�anie pliku nie powio�o si�.'))
                        {		
                            $this->IsGoodImageFormat('type','Format przesy�anego pliku nie jest poprawny.');
                        }
			$this->IsWithinRange('size','Przesy�any plik jast za du�y.',0,ALLOWED_FILE_SIZE);
            }
            return  $this->GetErrorList();		
		
      }

        
}
